<?php

class DiaDeJuegoValidator extends sfValidatorBase
{
	
	protected function configure($options = array(), $messages = array()) {
		$this->addOption('sector');
		$this->addOption('fecha');
	}	
	
	protected function doClean($value)
	{
		$sector = $value[$this->getOption('sector')];
		$fecha = new DateTime($value[$this->getOption('fecha')]);
		$dia_semana = $fecha->format("N");
		if ($sector == 'Damas') {
			if ($dia_semana != 6) {
				$this->messages = array('invalid' => 'La fecha de inicio del sector Damas debe ser un Sabado'); 
				throw new sfValidatorError($this, 'invalid', array('value' => $value));
			}
		} else if ($sector == 'Caballeros') {
			if ($dia_semana != 7) {
				$this->messages = array('invalid' => 'La fecha de inicio del sector Caballeros debe ser un Domingo');
				throw new sfValidatorError($this, 'invalid', array('value' => $value));
			}
		}
		return $value;
	}

}
